#include "Util.h"

string Util::convertTokenTypeToString(int index){
	if(index > 0 && index < 256){
		static string arr[] = 
		{
			"NONE",
			"ABRE_PARENTESES", 
			"FECHA_PARENTESES", 
			"ABRE_CHAVE",
			"FECHA_CHAVE",
			"ADICAO",
			"MULTIPLICACAO",
			"SUBTRACAO",
			"DIVISAO",
			"INT",
			"FLOAT",
			"CHAR",
			"IDENTIFICADOR", 
			"NUMERO_INTEIRO",
			"NUMERO_FLUANTE",
			"IF",
			"ELSE",
			"RETURN",
			"DO",
			"WHILE",
			"MAIN",
			"MENOR",
			"MENOR_IGUAL",
			"MAIOR",
			"MAIOR_IGUAL",
			"DIFERENTE",
			"IGUAL",
			"IGUALIGUAL",
			"AND",
			"OR",
			"VIRGULA",
			"CARACTER",
			"PONTO_VIRGULA",
			"QUEBRA_LINHA",
			"TABULACAO",
			"EOF"
		};
		return arr[index];
	}else{
		return "";
	}
}

char* Util::convertStringToPointerChar(std::string str){
	int i;
	char* retorno = new char(str.length());
	for(i=0;i<str.length();i++){
		retorno[i] = str[i];
	}
	return retorno;
}

void Util::trim(string str) {
	for (int i=0;i<str.length();i++){
		if (str[i]==' ') {
			str.erase(i,1);
			i--;
		}
	}
}